home *** CD-ROM | disk | FTP | other *** search
/ Symantec Visual Cafe for Java 2.5 / symantec-visual-cafe-2.5-database-dev-edition.iso / Visual Cafe Pro v1.0 / TUTORIAL.BIN / Warning.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-01-30  |  2.6 KB  |  75 lines

  1. package symantec.itools.db.net;
  2.  
  3. import java.io.DataInputStream;
  4. import java.io.DataOutputStream;
  5. import java.io.EOFException;
  6. import java.io.IOException;
  7. import symjava.sql.SQLException;
  8. import symjava.sql.SQLWarning;
  9.  
  10. public class Warning extends ServerObject {
  11.    String _message = new String("");
  12.    String _SQLState = new String("");
  13.    int _code = 0;
  14.  
  15.    Warning() {
  16.    }
  17.  
  18.    public SQLWarning toSQLWarning() {
  19.       return new SQLWarning(this._message, this._SQLState, this._code);
  20.    }
  21.  
  22.    int getType() {
  23.       return 88;
  24.    }
  25.  
  26.    void read(DataInputStream in) throws SQLException, IOException, ErrorException {
  27.       in.readShort();
  28.       byte[] leader = new byte[4];
  29.       in.readFully(leader, 0, 4);
  30.       ServerObject obj = (ServerObject)NetClass.getNextObject(in);
  31.       if (obj.getType() == 52) {
  32.          this._message = ((NetString)obj).toString();
  33.       } else {
  34.          ((ServerObject)this).onObjectError(obj);
  35.       }
  36.  
  37.       obj = (ServerObject)NetClass.getNextObject(in);
  38.       if (obj.getType() == 52) {
  39.          this._SQLState = ((NetString)obj).toString();
  40.       } else {
  41.          ((ServerObject)this).onObjectError(obj);
  42.       }
  43.  
  44.       obj = (ServerObject)NetClass.getNextObject(in);
  45.       if (obj.getType() == 51) {
  46.          try {
  47.             this._code = ((NetData)obj).getInt();
  48.          } catch (EOFException e) {
  49.             throw new SQLException(((Throwable)e).getMessage());
  50.          }
  51.       } else {
  52.          ((ServerObject)this).onObjectError(obj);
  53.       }
  54.  
  55.       obj = (ServerObject)NetClass.getNextObject(in);
  56.       if (obj.getType() != 50) {
  57.          ((ServerObject)this).onObjectError(obj);
  58.       }
  59.  
  60.    }
  61.  
  62.    void write(DataOutputStream out) throws IOException {
  63.       out.writeByte(this.getType());
  64.       out.writeShort(0);
  65.       NetString s = new NetString(this._message);
  66.       s.write(out);
  67.       s = new NetString(this._SQLState);
  68.       s.write(out);
  69.       NetData d = new NetData(this._code);
  70.       d.write(out);
  71.       EOT eot = new EOT();
  72.       eot.write(out);
  73.    }
  74. }
  75.